package fun.sanguo.service.record;

import fun.sanguo.model.dto.PageInfo;
import fun.sanguo.model.dto.PageInsert;
import fun.sanguo.model.dto.PageQuery;
import fun.sanguo.model.dto.PageUpdate;
import fun.sanguo.model.dto.record.RecordFactionInsert;
import fun.sanguo.model.dto.record.RecordFactionParam;
import fun.sanguo.model.dto.record.RecordFactionUpdate;
import fun.sanguo.model.entity.record.RecordFactionEntity;
import fun.sanguo.utils.exception.ArtificialException;

/**
 * 内容管理-势力列表 Service接口
 *
 * @author ZYP
 * @date 2023-04-25
 */
public interface RecordFactionService {

    /**
     * 查询页面table列表
     *
     * @param pageQuery
     * @return
     * @throws ArtificialException
     */
    PageInfo<RecordFactionEntity> getPage(PageQuery<RecordFactionParam> pageQuery) throws ArtificialException;

    /**
     * 新增
     *
     * @param pageInsert
     * @return
     * @throws ArtificialException
     */
    boolean insert(PageInsert<RecordFactionInsert> pageInsert) throws ArtificialException;

    /**
     * 编辑
     *
     * @param pageUpdate
     * @return
     * @throws ArtificialException
     */
    boolean update(PageUpdate<RecordFactionUpdate> pageUpdate) throws ArtificialException;

    /**
     * 删除
     *
     * @param pageUpdate
     * @return
     * @throws ArtificialException
     */
    boolean delete(PageUpdate<RecordFactionUpdate> pageUpdate) throws ArtificialException;
}
